<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>隐藏 PHP</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="security.magicquotes.disabling.html">关闭魔术引号</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="security.current.html">保持更新</a></div>
 <div class="up"><a href="security.html">安全</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="security.hiding" class="chapter">
   <h1>隐藏 PHP</h1>

   <p class="para">
    一般而言，通过隐藏的手段提高安全性被认为是作用不大的做法。但某些情况下，尽可能的多增加一份安全性都是值得的。
   </p>
   <p class="para">
    一些简单的方法可以帮助隐藏 PHP，这样做可以提高攻击者发现系统弱点的难度。在
    <var class="filename">php.ini</var> 文件里设置 expose_php = off ，可以减少他们能获得的有用信息。
   </p>
   <p class="para">
    另一个策略就是让 web 服务器用 PHP 解析不同扩展名。无论是通过
    <var class="filename">.htaccess</var> 文件还是 Apache 的配置文件，都可以设置能误导攻击者的文件扩展名：
    <div class="example" id="example-342">
     <p><strong>Example #1 把 PHP 隐藏为另一种语言</strong></p>
     <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># 使PHP看上去像其它的编程语言
AddType application/x-httpd-php .asp .py .pl</pre>
</div>
     </div>

    </div>
    或者干脆彻底隐藏它：
    <div class="example" id="example-343">
     <p><strong>Example #2 使用未知的扩展名作为 PHP 的扩展名</strong></p>
     <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># 使 PHP 看上去像未知的文件类型
AddType application/x-httpd-php .bop .foo .133t</pre>
</div>
     </div>

    </div>
    或者把它隐藏为 HTML 页面，这样所有的 HTML 文件都会通过 PHP
    引擎，会为服务器增加一些负担：
    <div class="example" id="example-344">
     <p><strong>Example #3 用 HTML 做 PHP 的文件后缀</strong></p>
     <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># 使 PHP 代码看上去像 HTML 页面
AddType application/x-httpd-php .htm .html</pre>
</div>
     </div>

    </div>
    要让此方法生效，必须把 PHP
    文件的扩展名改为以上的扩展名。这样就通过隐藏来提高了安全性，虽然防御能力很低而且有些缺点。
   </p>
  </div>
<hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="security.magicquotes.disabling.html">关闭魔术引号</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="security.current.html">保持更新</a></div>
 <div class="up"><a href="security.html">安全</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
